/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.nextel.project.pedido.mvc;

import com.nextel.project.Configuracion;
import com.nextel.project.canje.ControlCanje;
import com.nextel.project.devolucion.ControlDevolucion;
import com.nextel.project.pedido.ControlPedido;
import com.nextel.project.stock.ControlStock;
import com.nextel.project.usuario.ControlUsuario;
import com.nextel.ui.ODropDownList;
import com.nextel.ui.OLabel;
import com.nextel.ui.OSoftKey;
import com.nextel.ui.OTextField;
import com.nextel.ui.OUILook;
import com.nextel.ui.custom.OTextFieldDecimal;

import javax.microedition.lcdui.Graphics;
import pe.com.nextel.idioma.IdiomaManager;
import pe.com.nextel.main.MVCAction;

/**
 *
 * @author wpalacios
 */
public class MVCProductoBusqueda extends MVCAction {

    private OTextFieldDecimal txtCodigo;
    private OLabel str;
    private OSoftKey cmdBuscar, cmdAtras;
    private ODropDownList dropUpList;
    private boolean flagForm;
    private byte busquedaMVC;
    public static final byte PRODUCTO_PEDIDO = 1;
    public static final byte PRODUCTO_DEVOLUCION = 2;
    public static final byte PRODUCTO_CANJE = 3;
    public static final byte PRODUCTO_STOCK = 5;
    public static final byte PRODUCTO_STOCK_LINEA = 6;

    public void setBusquedaMVC(byte tipo) {
        busquedaMVC = tipo;
    }

    protected void createView() {


        cmdBuscar = new OSoftKey(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_BUSCAR));//"Buscar"
        cmdAtras = new OSoftKey(Configuracion.BOTON_ATRAS);
 
        System.out.println("MVCProductoBusqueda " + busquedaMVC);
        
        if (busquedaMVC == PRODUCTO_PEDIDO) {
            formulario.setTitle(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_PROD_PEDIDO), OUILook.PLAIN_SMALL_TITLE);//"Prod. Pedido"
        } else if (busquedaMVC == PRODUCTO_DEVOLUCION) {
            formulario.setTitle(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_PROD_DEVOLUCION), OUILook.PLAIN_SMALL_TITLE);//"Prod. Devolucion"
        } else if (busquedaMVC == PRODUCTO_CANJE) {
            formulario.setTitle(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_PROD_CANJE), OUILook.PLAIN_SMALL_TITLE);//"Prod. Canje"
        }else if(busquedaMVC == PRODUCTO_STOCK){
            formulario.setTitle(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_PROD_STOCK),OUILook.PLAIN_SMALL_TITLE);//"Prod. Stock"
        } else if(busquedaMVC == PRODUCTO_STOCK_LINEA) {
            formulario.setTitle(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_PROD_PEDIDO),OUILook.PLAIN_SMALL_TITLE);//"Producto"
        }

        formulario.addSoftKey(cmdBuscar);
        formulario.addSoftKey(cmdAtras);
    }

    protected void createItems() {

        if (busquedaMVC == PRODUCTO_PEDIDO) {

            str = new OLabel(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_BUSCAR_X_NOMBRE)+" :", OUILook.PLAIN_SMALL_TEXT);//Buscar por Nombre
            formulario.add(str);

        } else {

            String items[] = {"1) "+IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_NOMBRE), "2) "+IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_CODIGO)};//Nombre,C\u00F3digo
            formulario.add(new OLabel(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_BUSCAR)+":", OUILook.PLAIN_SMALL_TEXT), 0, 1, Graphics.LEFT);//bUSCAR
            dropUpList = new ODropDownList(items, OUILook.PLAIN_SMALL_TEXT);
 
            
            formulario.add(dropUpList, 1, 1, Graphics.RIGHT);

            formulario.setFocusInd(1);
        }

        txtCodigo = new OTextFieldDecimal(25, OUILook.PLAIN_SMALL_TEXT, OTextField.ANY | OTextField.UPPERCASE, (Configuracion.SimboloDecimal).charAt(0));
        txtCodigo.isPermitirMasDecimal = true;
        txtCodigo.allowSpaces(true);
        
        formulario.add(txtCodigo);
        flagForm = true;
    }

    public void performAction(OSoftKey c) {


        if (flagForm) {
            if (c == cmdBuscar) {
                System.out.println("Seguir + busquedaMVC==" + busquedaMVC);
                String campo = txtCodigo.getText().toUpperCase().trim( );
                if (busquedaMVC == PRODUCTO_DEVOLUCION)
                {
                    if (dropUpList.getSelectedIndex() == 1) {

                        if (ControlDevolucion.getInstance().buscarPorCodigoProducto(campo) != null) {
                            destroy();
                            flagForm = false;
                            ControlDevolucion.getInstance().setCurrent(ControlDevolucion.getInstance().mvcDevolucionDatos.showScreenOdate());
                        }
                    } else {

                            destroy();
                            flagForm = false;
                            ControlDevolucion.getInstance().buscarPorNombreProducto(campo);

                    }
                } else if (busquedaMVC == PRODUCTO_PEDIDO)
                {

                        destroy();
                        flagForm = false;
                        ControlPedido.getInstance().buscarPorNombreProducto(campo);


                } else if (busquedaMVC == PRODUCTO_CANJE)
                 {
                    if (dropUpList.getSelectedIndex() == 1) {

                        if (ControlCanje.getInstance().buscarPorCodigoProducto(campo) != null) {
                            flagForm = false;
                            destroy();
                            ControlCanje.getInstance().setCurrent(ControlCanje.getInstance().mvcCanjeDatos.showScreenOdate());

                        }
                    } else {

                            flagForm = false;
                            destroy();
                            ControlCanje.getInstance().buscarPorNombreProducto(campo);

                    }
                }else if(busquedaMVC == PRODUCTO_STOCK || busquedaMVC == PRODUCTO_STOCK_LINEA)
                 {
                    
                   // System.out.println("buscar stock en linea");
                    if (dropUpList.getSelectedIndex() == 1) {

                            flagForm = false;
                            destroy();
                            ControlStock.getInstance().buscarStockCodigoOnline(campo, busquedaMVC);
                        }
                     else{


                            flagForm = false;
                            destroy();
                            //ControlStock.getInstance().buscarPorNombreProducto(campo);
                            ControlStock.getInstance().buscarProOnline(campo, busquedaMVC);
                        }

               }
            } else if (c == cmdAtras) {
//                System.out.println("Atras + busquedaMVC==" + busquedaMVC);
                if (busquedaMVC == PRODUCTO_DEVOLUCION) {
                    flagForm = false;
                    destroy();
                    ControlDevolucion.getInstance().setCurrent(ControlDevolucion.getInstance().mvcResumenDevolucion);
                } else if (busquedaMVC == PRODUCTO_PEDIDO) {
                    flagForm = false;
                    destroy();
                    ControlPedido.getInstance().setCurrent(ControlPedido.getInstance().mvcProductoPedido);
                }else if(busquedaMVC == PRODUCTO_STOCK){
                    flagForm = false;
                    ControlStock.getInstance().clear();
                    destroy();
                    ControlUsuario.getInstance().setCurrent(ControlUsuario.getInstance().mvcMenu);

                } else if(busquedaMVC == PRODUCTO_STOCK_LINEA){
                    flagForm = false;
                    ControlStock.getInstance().clear();
                    destroy();
                    ControlPedido.getInstance().setCurrent(ControlPedido.getInstance().mvcProductoPedido);
                }
                
                else {
                    flagForm = false;
                    destroy();
                    ControlCanje.getInstance().setCurrent(ControlCanje.getInstance().mvcResumenCanje);
                }
 
            } 
        }
    }

}


